# -*- mode: python -*-

# This is the main Akara server configuration file. It contains
# settings for the server and for its extension modules.

### Akara global environment
#
#  The directives in this section affect the overall operation of
#  Akara, such as the number of concurrent requests it can handle and
#  where it should place its PID and log files.

class Akara:
    #  Listen: interface name (optional) and port to listen for HTTP requests
    Listen = 8880
    #  To specify the interface name use this format:
    #  Listen = "localhost:8880"

    #  ServerRoot: The top of the directory tree which holds the server's
    #  configuration, error, and log files.
    #
    #  NOTE: This path is used as the base for any other directives which
    #  contain a relative filename.
    #
    #  This location follows the LSB recommendation
    ServerRoot = "..SOME PATH.."

    # ServerPath
    # InternalServerPath

    #  PidFile: Filename which holds the process id of a running Akara
    #  server. The file is created when Akara starts and removed when it
    #  exists. It contains a single line: the pid followed by a newline.
    #
    PidFile = "logs/akara.pid"

    ####
    #  Different options controlling the number of pre-forked server
    #  process to run at any one time.
    #
    #  MaxServers: maximum number of servers to run at any one time
    #  (this is therefore the maximum number of simultaneous connections)
    MaxServers           = 150
    #MaxServers           = 10
    #
    #  A 'spare' server is one which is waiting to handle an HTTP request
    #  MinSpareServers: minimum number of spare servers
    MinSpareServers      =   5
    #  MinSpareServers      =   2
    #  MaxSpareServers: maximum number of spare servers
    MaxSpareServers      =  10
    # MaxSpareServers      =  5

    #  MaxRequestsPerServer: restart a server after this many requests
    MaxRequestsPerServer =   10000


    #### Log configuration
    #  ErrorLog: The location of the error log file.
    #
    ErrorLog = "logs/error.log"

    #  AccessLog: The location of the access log file.
    #  Uses the Apache combined log format
    #
    AccessLog = "logs/access.log"

    #  LogLevel: Set the severity level for Akara logging messages.
    #  Messages below the given log level are not written. The levels are,
    #  from highest to lowest:
    #      CRITICAL, ERROR, WARN, INFO, DEBUG
    #  Also, WARNING is an alias for WARN
    #
    LogLevel = "INFO"

class static:
    # .. see https://github.com/zepheira/akara/blob/master/lib/demo/static.py .. #
    pass

class dataset:
    mysqlDataset = {
        'type'         : "MySQL",
        'mysqldb'      : "[..]",
        'mysqluser'    : "[..]",
        'mysqlhost'    : "[..]",
        'mysqlpw'      : "[..]",
        'mysqlStoreId' : "[..]",
    }

    sparqlQueryFiles = ".. SOME PATH .."

    sqlLiteralProps  = ['http://www.w3.org/2004/02/skos/core#notation',
                        'http://www.w3.org/2006/vcard/ns#fn']
    sqlResourceProps = ['http://www.obofoundry.org/ro/ro.owl#participates_in',
                        'http://purl.org/cpr/representationOf',
                        'http://www.obofoundry.org/ro/ro.owl#has_participant',
                        'http://www.obofoundry.org/ro/ro.owl#has_part',
                        'http://xmlns.com/foaf/0.1/businessCard']

class diglot:
    rootPath       = '.. SOME PATH ..'
    datasetName    = 'mysqlDataset'
    transforms4Dir = {
        #[..]
    }


MODULES = [
    "outpatient.remit.modules.outpatientRemitAkara",
    #[..]
    "akara.demo.static",
    "akamu.config.dataset",
    "akamu.config.diglot"
]

_BUILTIN_AKARA_MODULES = [
    "akara.demo.static",
]

